package com.changan.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * <p>
 * 中国高校信息表
 * </p>
 *
 * @author NieChangan
 * @since 2025-09-03
 */
@Getter
@Setter
@ToString
@Accessors(chain = true)
@TableName("universities")
public class Universities extends Model<Universities> {

    /**
     * 学校唯一标识
     */
    @TableId(value = "univ_id", type = IdType.AUTO)
    private Integer univId;

    /**
     * 是否有硕士点（1:是，0:否）
     */
    @TableField("has_master")
    private Integer hasMaster;

    /**
     * 省份/地区名称
     */
    @TableField("prov_name")
    private String provName;

    /**
     * 高水平类型（预留字段，当前为null）
     */
    @TableField("high_level")
    private String highLevel;

    /**
     * 标记位（0:默认）
     */
    @TableField("flag")
    private Integer flag;

    /**
     * 是否有常规招生（1:是，0:否）
     */
    @TableField("has_regular")
    private Integer hasRegular;

    /**
     * 是否为卓越工程师计划（1:是，0:否）
     */
    @TableField("is_outstanding_engineer")
    private Integer isOutstandingEngineer;

    /**
     * 是否纳入国家计划（1:是，0:否）
     */
    @TableField("is_national_plan")
    private Integer isNationalPlan;

    /**
     * 主管部门
     */
    @TableField("competent_depart")
    private String competentDepart;

    /**
     * 学校类型（综合/工科/师范等）
     */
    @TableField("univ_type_name")
    private String univTypeName;

    /**
     * 是否为985院校（1:是，0:否）
     */
    @TableField("is_985")
    private Integer is985;

    /**
     * 是否为211院校（1:是，0:否）
     */
    @TableField("is_211")
    private Integer is211;

    /**
     * 是否为101计划院校（1:是，0:否）
     */
    @TableField("is_101")
    private Integer is101;

    /**
     * 是否为一流大学（1:是，0:否）
     */
    @TableField("is_first_class")
    private Integer isFirstClass;

    /**
     * 学校名称
     */
    @TableField("univ_name")
    private String univName;

    /**
     * 排名
     */
    @TableField("rank")
    private Integer rank;

    /**
     * 是否为公立学校（1:是，0:否）
     */
    @TableField("is_public")
    private Integer isPublic;

    /**
     * 学校Logo URL
     */
    @TableField("logo")
    private String logo;

    /**
     * 是否为一级院校（1:是，0:否）
     */
    @TableField("is_first_level")
    private Integer isFirstLevel;

    @Override
    public Serializable pkVal() {
        return this.univId;
    }
}
